﻿using System.Threading.Tasks;
using FDSimpleModelGenerator.Entities;
using FDSimpleModelGenerator.Entities.CreateTables;
using FDSimpleModelGenerator.Entities.Enums;

namespace FDSimpleModelGenerator.IServices
{
    /// <summary>
    /// 生成数据库表服务接口
    /// </summary>
    public interface IGenerateTableService
    {
        /// <summary>
        /// 数据库类型
        /// </summary>
        DbType DbType { get; }

        /// <summary>
        /// 生成表
        /// </summary>
        /// <returns></returns>
        GenResult Generate(DbConfig dbConfig, Table tableInfo);

        /// <summary>
        /// 生成表
        /// </summary>
        /// <returns></returns>
        Task<GenResult> GenerateAsync(DbConfig dbConfig, Table tableInfo);
    }
}
